/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.ihale.tedarikci;

import java.io.IOException;
import java.sql.SQLException;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import org.ihale.database.Database;

import java.util.ArrayList;
import java.util.List;
import org.ihale.database.Database;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;

/**
 *
 * @author Emre
 */
@ManagedBean
@RequestScoped
public class TedarikciBean {

    /** Creates a new instance of TedarikciBean */
        
    // Değişkenler için alan başlangıcı
   private Tedarikci Tedarikci;
   private String Tedarikci_id;
   private Tedarikci getirilenTedarikci;
   private Tedarikci secilenTedarikci;
   private List<Tedarikci> TedarikciListesi;

    // Değişkenler için alan bitişi
    
    // Getter-Setter için alan başlangıcı

    public List<Tedarikci> getTedarikciListesi() {
        return TedarikciListesi;
    }

    public void setTedarikciListesi(List<Tedarikci> TedarikciListesi) {
        this.TedarikciListesi = TedarikciListesi;
    }
    
  
    
    public Tedarikci getTedarikci() {
        return Tedarikci;
    }

    public void setTedarikci(Tedarikci Tedarikci) {
        this.Tedarikci = Tedarikci;
    }

    public String getTedarikci_id() {
        return Tedarikci_id;
    }

    public void setTedarikci_id(String Tedarikci_id) {
        this.Tedarikci_id = Tedarikci_id;
    }

    public Tedarikci getGetirilenTedarikci() {
        return getirilenTedarikci;
    }

    public void setGetirilenTedarikci(Tedarikci getirilenTedarikci) {
        this.getirilenTedarikci = getirilenTedarikci;
    }

    public Tedarikci getSecilenTedarikci() {
        return secilenTedarikci;
    }

    public void setSecilenTedarikci(Tedarikci secilenTedarikci) {
        this.secilenTedarikci = secilenTedarikci;
    }
    
    
    
    // Getter-Setter için alan bitişi

    // Fonksiyonlar için alan başlangıcı

    public TedarikciBean() {
       this.Tedarikci=new Tedarikci();
       this.TedarikciListesi= new ArrayList<Tedarikci>();
       this.secilenTedarikci= new Tedarikci();
      Database database = new Database();
       try{
        database.connect();
           this.TedarikciListesi=database.ListeTedarikci();
        database.disconnect();
       } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Liste veri tabanından alınamadı!"));
            System.out.println(e.toString());
	}
       
    
 }
    
     public void  ekleTedarikci()
  {
   Database database = new Database();
    	try {
            database.connect();
            if(database.ekleTedarikci(this.Tedarikci))
             FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Tedarikçi eklendi."));
            else
             FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Tedarikçi eklenemedi."));
                
                database.disconnect();
           
	} catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Ekleme işlemi başarısız."));
            System.out.println(e.toString());
	}
  }
     
     public void getirTedarikci( )
     {
      Database database = new Database();
      	
      try{
            database.connect();
            this.getirilenTedarikci=database.getirTedarikci(this.Tedarikci_id);
             FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Satın almacı eklendi."));
            
             FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Satın almacı eklenemedi."));
                
                database.disconnect();
           
	} catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Kaldırma işlemi başarısız."));
            System.out.println(e.toString());
	}
     
     }
     
 
     public void silTedarikci( )
     {
      Database database = new Database();
      	
      try{
            database.connect();
            if(database.silTedarikci(this.secilenTedarikci))
             FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Satın almacı silindi."));
            else
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Silinemedi!!!."));
            
            this.TedarikciListesi=database.ListeTedarikci();
        
            database.disconnect();
	} catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Silinemedi!!!."));
            System.out.println(e.toString());
	}
     
     
     }
    
     
      public void guncelleTedarikci( )
     {
      Database database = new Database();
      	
      try{
            database.connect();
            if(database.guncelleTedarikci(this.secilenTedarikci))
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Satın almacı güncellendi!"));
            else
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Satın almacı güncellenemedi!"));
                     
            this.TedarikciListesi=database.ListeTedarikci();
                
                database.disconnect();
           
	} catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Güncellenemedi!!!."));
            System.out.println(e.toString());
	}
     
     }
       public void login() throws ClassNotFoundException, SQLException, IOException{
     
     Database db = new Database();
     db.connect();
//     tedarikci = db.getTedarikci(tedarikci);
     if(Tedarikci != null){
            FacesContext.getCurrentInstance().getExternalContext().redirect("TedarikciAnaSayfa.xhtml");
        }
        else{
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Username and/or password is wrong. Please try again !"));
        }
               
        db.disconnect();
 }
  
  
  
    
    
    
    
    
    
    
    // Fonksiyonlar için alan bitişi
    
    }
